home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / thrdmod.zip / THRD-MOD.MOD
Text File  |  1989-07-27  |  10KB  |  310 lines

  1. THIS MOD Adds Line Number Referencing to RBBS, orig mod from 15a
  2. You will need the file THREAD.EXE to maintain the Thread File
  3. Please see the THREAD.ARC or THREAD2.ARC file for Docs.......(available on
  4. many BBS including Mine
  5. orig mods by George Brungot ..BBS # (301)-268-5821
  6. Mod for 17a by Pete Eibl (maple Street BBS 414-771-2805)
  7.  
  8.  
  9.  
  10. RBBS-VAR.BAS
  11. add the  variables Z.ABORT, GRN$  and JUST.SEARCHING to RBBS-VAR.BAS
  12.  
  13. '
  14. ' ****  ABORT MESSAGE   ****
  15. '
  16. 2400 GOSUB 2435
  17.      IF NOT YES THEN _
  18.         GOTO 2300
  19. 2430 A$ = "Aborted"
  20.      GOSUB 12975
  21.      Z.ABORT = 1
  22. ' ********** NOTE *** only use the following variables if using the
  23. ' Re-EDIT mods and Quoted message mods
  24. '
  25.      QUOTED.REPLY = FALSE                    'Pe 01/29/89
  26.      RE.EDIT = FALSE                                            'Pe 02/11/89
  27. ' ************************************************************************
  28.      GOTO 3650
  29. 2435 A$ = "Abort " + _
  30.           FT$ + _
  31.           " (Y/[N])"
  32.      GOSUB 12995
  33.      RETURN
  34. '
  35. ' Skip to Next........
  36.  
  37. '************************ MESSAGE THREAD *****************
  38. 3650 IF REPLY AND Z.ABORT = 0 THEN _         
  39.         CALL THREAD1(HIGH.MESSAGE.NUMBER,CURRENT.MESSAGE,GRN$)  'GRB
  40.       Z.ABORT = 0
  41. '*********************************************************
  42.  IF REPLY THEN _
  43.         REPLY = FALSE : _
  44.         GOTO 5344
  45.      IF GET.EXT.DESC THEN _
  46.         LINES.IN.MESSAGE = 0 : _
  47.         RETURN
  48.      RETURN 1200
  49. '
  50. ' ****  K - COMMAND FROM MAIN MENU (KILL MESSAGE)  ****
  51. '
  52.  
  53. 'Skip to Next  --------
  54. 3950 GOSUB 5344
  55.      CALL KILLMSG (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$)
  56. '************************
  57. ' CHANGES for 07/27/89
  58. ' CALL THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$)
  59. ' the above code gets placed in RBBSSUB2.BAS and only updates
  60. '  the field if a message is actually killed
  61. 4040 IF TEMP < Q THEN _
  62.         TEMP = TEMP + 1 : _
  63.         GOTO 3935
  64.      IF KILL.MESSAGE THEN _
  65.         RETURN
  66.      GOTO 3930
  67. '
  68. ' ****  Sysop Available toggle
  69.  
  70. 'Skip to Next ........
  71.  
  72.  
  73. 4613  CALL THREAD3(CURRENT.MESSAGE,GRN$)
  74.        GOSUB 9000
  75.        IF JUST.SEARCHING THEN _
  76.           GOTO 4625
  77.        IF MESSAGES.SELECTED.INDEX > NUMBER.MESSAGES.SELECTED THEN _
  78.           GOTO 4650
  79.        CALL SKIPLINE (1)
  80. 4614   GOSUB 41000
  81.  
  82. End of Thrd-Mod to RBBS-PC.BAS
  83.  
  84. '=======================================
  85. RBBSSUB1.BAS
  86.  
  87. 59660 SUB PUTWORK (STRNG$,REC.NUM,REC.LEN) STATIC
  88.       ON ERROR GOTO 65000
  89.       FIELD #2,REC.LEN AS UPLOAD.RECORD$
  90.       LSET UPLOAD.RECORD$ = STRNG$
  91.       REC.NUM = REC.NUM + 1
  92.       PUT #2,REC.NUM
  93.       END SUB
  94. '********************************************************************
  95. '  THREAD1            First message thread routine                  *
  96. '  THREAD2            Second message thread routine                 *
  97. '  THREAD3            Third message thread routine                  *
  98. '********************************************************************
  99. '===========================================================================
  100.  
  101.  
  102. ' $SUBTITLE: 'THREAD1 - create/update threaded message file'
  103. ' $PAGE
  104. '
  105. '  SUBROUTINE NAME    -- THREAD1
  106. '
  107. '  INPUT PARAMETERS   --    PARAMETER              MEANING
  108. '                           HIGH.MESSAGE.NUMBER    This reply's message number
  109. '                           CURRENT.MESSAGE        Message number being replied
  110. '
  111. '  OUTPUT PARAMETERS  --     <<NONE>>
  112. '
  113. '  SUBROUTINE PURPOSE -- SUBROUTINE TO...
  114. '
  115.       SUB THREAD1 (HIGH.MESSAGE.NUMBER,CURRENT.MESSAGE,GRN$) STATIC
  116.         IF INSTR(GRN$," ") = 0 THEN   'PE102587
  117.          FILE.NAME$ = GRN$ + "T"  'PE102587
  118.         ELSE
  119.            FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T" 'PE102587
  120.       END IF
  121.       CURRENT.MESSAGE$ = STR$(CURRENT.MESSAGE)
  122.       HIGH.MESSAGE.NUMBER$ = STR$(HIGH.MESSAGE.NUMBER)
  123.       OPEN "R",9,FILE.NAME$,12
  124.       FIELD 9, 6 AS CM$, 6 AS HMN$
  125.       LSET CM$ = CURRENT.MESSAGE$
  126.       LSET HMN$ = HIGH.MESSAGE.NUMBER$
  127.       PUT #9,INT(LOF(9)/12)+1
  128.       CLOSE (9)
  129. 59670 END SUB       ' THREAD1
  130. '
  131. ' $SUBTITLE: 'THREAD2 - a message was killed - check threaded message file'
  132. ' $PAGE
  133. '
  134. '  SUBROUTINE NAME    -- THREAD2
  135. '
  136. '  INPUT PARAMETERS   --    PARAMETER              MEANING
  137. '                           MESSAGE.TO.KILL        Killed message's number
  138. '
  139. '  OUTPUT PARAMETERS  --     <<NONE>>
  140. '
  141. '  SUBROUTINE PURPOSE -- SUBROUTINE TO ...
  142. '
  143.       SUB THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$) STATIC
  144.       IF INSTR(GRN$," ") = 0 THEN     'PE102587
  145.         FILE.NAME$ = GRN$ + "T"
  146.       ELSE
  147.         FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
  148.       END IF
  149.       OPEN "R",9,FILE.NAME$,12
  150.       FIELD 9, 6 AS CM$, 6 AS HMN$
  151.        FOR I = 1 TO INT(LOF(9)/12)
  152.           GET 9,I
  153.           IF VAL(CM$) = MESSAGE.TO.KILL THEN     ' MARK THE RECORD
  154.              LSET CM$ = LEFT$(CM$,5) + "K"
  155.              PUT 9,I
  156.           ELSE 
  157.            IF VAL(HMN$) = MESSAGE.TO.KILL THEN     ' MARK THE RECORD
  158.               LSET HMN$ = LEFT$(HMN$,5) + "K"
  159.               LSET CM$ = LEFT$(CM$,5) + "K"
  160.              PUT 9,I
  161.           END IF
  162.        END IF
  163.       NEXT I
  164.       CLOSE (9)
  165. 59680 END SUB      ' THREAD2
  166. '
  167. ' $SUBTITLE: 'THREAD3 - a message was killed - check threaded message file'
  168. ' $PAGE
  169. '
  170. '  SUBROUTINE NAME    -- THREAD3
  171. '
  172. '  INPUT PARAMETERS   --    PARAMETER              MEANING
  173. '                           CURRENT.MESSAGE        Message's number
  174. '
  175. '  OUTPUT PARAMETERS  --     <<NONE>>
  176. '
  177. '  SUBROUTINE PURPOSE -- SUBROUTINE TO ...
  178. '
  179.       SUB THREAD3 (CURRENT.MESSAGE,GRN$) STATIC
  180. '
  181. '
  182. IF JUST.SEARCHING THEN _            'PE 01/16/89
  183.  EXIT SUB                           'PE 01/16/89
  184. '
  185. '
  186.       IF INSTR(GRN$," ") = 0 THEN
  187.          FILE.NAME$ = GRN$ + "T"
  188.        ELSE
  189.          FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
  190.       END IF
  191.        OPEN "R",9,FILE.NAME$,12 
  192.        FIELD 9, 6 AS CM$, 6 AS HMN$
  193.       AA$ = ""
  194.       ZZ$ = ""
  195.       FOR I = 1 TO INT(LOF(9)/12)
  196.           GET 9,I
  197.          IF RIGHT$(HMN$,1) = "K" THEN 59690
  198.          IF VAL(CM$) = CURRENT.MESSAGE AND RIGHT$(HMN$,1) <> "K" THEN 
  199.                 AA$ = AA$ + HMN$
  200.          END IF 
  201.           IF VAL(HMN$) = CURRENT.MESSAGE AND RIGHT$(CM$,1) = "K" THEN
  202.                 ZZ$ = LEFT$(CM$,5) + FG.1$+"(deleted) "+EMPHASIZE.OFF$
  203.          END IF
  204.           IF VAL(HMN$) = CURRENT.MESSAGE AND RIGHT$(CM$,1) <> "K" THEN 
  205.                 ZZ$ = CM$
  206.          END IF
  207. 59690 NEXT I
  208.       IF LEN(AA$) > 0 THEN 
  209. CALL QTPUT(FG.3$+"   Reply(ies) in message number(s): "+FG.4$ + AA$+EMPHASIZE.OFF$,1)
  210.       END IF
  211.       IF LEN(ZZ$) > 0 THEN 
  212. CALL QTPUT (FG.4$+"   This message is in reply to message " +FG.1$+ ZZ$+EMPHASIZE.OFF$,1)
  213.       END IF
  214. CALL QTPUT (FG.3$+ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"+EMPHASIZE.OFF$,1)
  215.       CLOSE (9)
  216. 59695 END SUB      ' THREAD3
  217. '
  218. ' $SUBTITLE: 'THREAD4 - UPDATE CONFR.DEF FILE FOR MESSAGE RECOVERY'
  219. ' $PAGE
  220. '
  221. '  SUBROUTINE NAME    -- THREAD4
  222. '
  223. '  INPUT PARAMETERS   --    PARAMETER            MEANING
  224. '
  225. '                           MESSAGE.TO.RECOVER   MESSAGE NUMBER BEING RECOVERED
  226. '                           FIRST.MESSAGE.RECORD NOT USED HERE BUT PASSED IN
  227. '                                                FROM RBBS CALL TO SUB2
  228. '                           ACTION.FLAG          PASSED FROM SUB2 NEEDED TO
  229. '                                                GIVE BACK TO RBBS MAIN CODE
  230. '                           GRN$                 CONFERENCE NAME
  231. '
  232. '  OUTPUT PARAMETERS  --      <<NONE>>
  233. '
  234. '  SUBROUTINE PURPOSE -- SUBROUTINE - UPDATE CONFR.DEF FILE AFTER MSG RECVRY
  235. '
  236.       SUB THREAD4 (MESSAGE.TO.RECOVER,FIRST.MESSAGES.RECORD,ACTION.FLAG,GRN$) STATIC
  237.       IF INSTR(GRN$," ") = 0 THEN
  238.          FILE.NAME$ = GRN$ + "T"
  239.       ELSE
  240.          FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
  241.       END IF
  242.       OPEN "R",9,FILE.NAME$,12                           'WILL CREATE FILE IF NOT EXIST
  243.       FIELD 9, 6 AS CM$, 6 AS HMN$
  244.       FOR I = 1 TO INT(LOF(9)/12)
  245.           GET 9,I
  246.           IF VAL(CM$) = MESSAGE.TO.RECOVER THEN
  247.              LSET CM$ = LEFT$(CM$,5) + " "
  248.              PUT 9,I
  249.           ELSE
  250.               IF VAL(HMN$) = MESSAGE.TO.RECOVER THEN
  251.                  LSET HMN$ = LEFT$(HMN$,5) + " "
  252.                  LSET CM$ = LEFT$(CM$,5) + " "
  253.                  PUT 9,I
  254.               END IF
  255.           END IF
  256.       NEXT I
  257.       CLOSE (9)
  258. 59698 END SUB    'THREAD4
  259. '
  260. '
  261. '
  262. '============================ End of Mods to Sub 1
  263. '
  264. '
  265. Mods to RBBSSUB2.BAS
  266. '
  267. 'Skip to ............
  268.  
  269. 4030 LSET MESSAGE.RECORD$ = LEFT$(MESSAGE.RECORD$,115) + _
  270.                             DELETED.MESSAGE$ + _
  271.                             MID$(MESSAGE.RECORD$,117)
  272.      PUT 1,LOC(1)
  273.      A$ = CX$(1)+"Killed Msg # " +CX$(3)+ _
  274.           STR$(MESSAGE.TO.KILL)+CX$(7)
  275.      CALL THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$)  'PE 01/12/89
  276.      SUBROUTINE.PARAMETER = 4
  277.      CALL FILELOCK                                'KG011804 
  278.      SUBROUTINE.PARAMETER = 5
  279.      CALL TPUT
  280.      EXIT SUB
  281. 4031 SUBROUTINE.PARAMETER = 5
  282. '
  283. '
  284. 'Skip to Next......
  285. '
  286. 10450 IF INSTR(MESSAGE.RECORD$,DELETED.MESSAGE$) <> 0 THEN _
  287.          SUBROUTINE.PARAMETER = 3 : _
  288.          CALL TPUT : _
  289.          LSET MESSAGE.RECORD$ = LEFT$(MESSAGE.RECORD$,115) + _
  290.                                 ACTIVE.MESSAGE$ + _
  291.                                 MID$(MESSAGE.RECORD$,117) : _
  292.          PUT 1,LOC(1) : _
  293.          SUBROUTINE.PARAMETER = 4 : _
  294.          CALL TPUT : _
  295.          A$ = "Restored Msg #" + _
  296.               STR$(MESSAGE.TO.RECOVER) : _
  297.          ACTION.FLAG = TRUE : _
  298.  CALL THREAD4 (MESSAGE.TO.RECOVER,FIRST.MESSAGE.RECORD,ACTION.FLAG,GRN$) : _ 
  299.          GOTO 10485
  300. 10480 A$ = "Msg #" + _
  301. '
  302. ' Rest the same
  303.  
  304.  
  305. END of THREAD Mods to RBBS 17a
  306.  
  307.  
  308.  
  309. Enjoy...Pete Eibl (Maple Street BBS 414-771-2805)
  310.